<template>
    <div id="container">
        <div id="title">
            系统数据备份
        </div>
        <!-- 分割线 -->
        <el-divider></el-divider>
        <el-button type="primary" @click="db_backup">数据库备份</el-button>
        <el-button type="primary" @click="backupAsset">资产库资产备份</el-button>
    </div>
</template>

<script>
import axios from 'axios';
export default {
    name:'Backup',
    data(){
        return{
            
        }
    },
    methods:{
        db_backup:async function(){
            this.$message('该功能暂未开放！请系统管理员凭借数据库账号、密码，自行前往数据库手动备份');
            // const headerConfig = { headers:
            //   { 'Content-Type': 'application/json' ,'x-auth-token': this.$store.state.login.token}
            // }
            // try{
            //     const res = await axios.get('/api/admin/db_backup',headerConfig);
            //     if(res.status!==200) return this.$message.error("请求失败，请检查网络设置！");
            //     console.log(res);

            //     if(res.data.res.ok === 1){
            //         this.$notify({
            //             title: '提示',
            //             message: res.data.res.msg,
            //             type: 'success'
            //         });
            //     }else{
            //         this.$notify({
            //             title: '提示',
            //             message: res.data.res.msg,
            //             type: 'error'
            //         });
            //     }
            // }catch(e){
            //     console.log(e);
            //     this.$message.error("出错了！这不是您的问题，我们的工程师正在努力修复！");
            // };
        },
        backupAsset:async function(){
            const loading = this.$loading({
                lock: true,
                text: '正在努力打包备份中，请稍后......',
                spinner: 'el-icon-loading',
                background: 'rgba(0, 0, 0, 0.7)'
            });
            try{
                const res = await axios.get('/api/file_download/backup_asset');
                if(res.status!==200) return this.$message.error("请求失败，请检查网络设置！");
                console.log(res);

                const a = document.createElement('a');
                a.style.display = 'none';
                a.href = 'http://localhost:3000/backup.zip';
                a.download = 'backup.zip';
                document.body.append(a);
                a.click();
                document.body.removeChild(a);
                loading.close();
            }catch(e){
                console.log(e);
                this.$message.error("出错了！这不是您的问题，我们的工程师正在努力修复！");
            };
        }
    }
}
</script>

<style lang="scss" scoped>
#container{
    background-color: #fff;
    #title{
        font-size: 20px;
        font-weight: bold;
    }
}
</style>